package cn.com.chengmandian.bike.model.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
@ApiModel("骑行订单预算Vo")
public class RideOrderCountVo {

    @ApiModelProperty("订单编号")
    private String orderNo;

    @ApiModelProperty("订单状态（0，初始化；1，骑行中；2，暂停中；3，待确认结束；4，已完成；9，异常取消）")
    private Integer status;

    @ApiModelProperty("起始时间")
    private Date openTime;

    @ApiModelProperty("结束订单时间")
    private Date closeTime;

    @ApiModelProperty("停车时间")
    private Date stopTime;

    @ApiModelProperty("总骑行时长")
    private Integer allTime = 0;

    @ApiModelProperty("总骑行距离（米）")
    private Integer allDistance = 0;

    @ApiModelProperty("免费骑行时长")
    private Integer freeTime = 0;

    @ApiModelProperty("新用户免费时长（分钟）")
    private Integer newFreeTime = 0;

    @ApiModelProperty("骑行卡记录ID")
    private Integer cardRecordId;

    @ApiModelProperty("骑行卡减免时长")
    private Integer cardFreeTime = 0;

    @ApiModelProperty("骑行卡优惠金额")
    private BigDecimal cardFreeMoney = new BigDecimal(0);

    @ApiModelProperty("计费骑行时长(分钟)")
    private Integer rideTime = 0;

    @ApiModelProperty("起步时长")
    private Integer beforeTime = 0;

    @ApiModelProperty("起步计费")
    private BigDecimal beforeTimeMoney = new BigDecimal(0);

    @ApiModelProperty("超时时长")
    private Integer overTime = 0;

    @ApiModelProperty("超时计费")
    private BigDecimal overRideTimeMoney = new BigDecimal(0);

    @ApiModelProperty("计费骑行距离(公里)")
    private Integer rideDistance = 0;

    @ApiModelProperty("距离计费起步路程（公里）")
    private Integer beforeDistance = 0;

    @ApiModelProperty("距离计费起步金额")
    private BigDecimal beforeDistanceMoney = new BigDecimal(0);

    @ApiModelProperty("距离计费超路程（公里）")
    private Integer overDistance = 0;

    @ApiModelProperty("距离计费超金额")
    private BigDecimal overDistanceMoney = new BigDecimal(0);

    @ApiModelProperty("优惠券ID")
    private Integer couponId;

    @ApiModelProperty("优惠券金额")
    private BigDecimal couponMoney = new BigDecimal(0);

    @ApiModelProperty("订单金额")
    private BigDecimal money = new BigDecimal(0);

    @ApiModelProperty("已封顶时长")
    private Integer cappingTime = 0;

    @ApiModelProperty("已封顶时长费用")
    private BigDecimal cappingTimeMoney = BigDecimal.ZERO;

    @ApiModelProperty("已封顶距离")
    private Integer cappingDistance = 0;

    @ApiModelProperty("已封顶距离费用")
    private BigDecimal cappingDistanceMoney = BigDecimal.ZERO;

    @ApiModelProperty("订单基础骑行金额")
    private BigDecimal orderMoney = BigDecimal.ZERO;
}
